Version Changes ------- ----------------------------------------------------------------------- 2.910 : BASENAME has now become a proper selector which means that the basename of a filename sequence can now receive any of the available actions, and isn't limited to just replacement anymore. To complement this feature the position of the number within the basename is calculated automatically according to the basename's modification. Added the NUMBERPOS keyword for manually setting the position of the number within the basename instead of using AT for this, as AT may now be used by actions that modify the basename. The UPTO keyword can now also receive a filename so that when SRename is used from a file manager for renumbering, the user can select the starting and ending filenames from a lister. BEFORE and AFTER can now be used with the code and single-character modes of MATCH. The code of SWAP, LSHIFT and RSHIFT was completely rewritten to implement the automatic number positioning with basename modification. Now if specific components are given with SWAP they must be at least two or SWAP will do nothing. Fixed small bug that sometimes caused an enforcer hit when EXCLUDE and DELETE was given. Fixed harmless bug in the renumbering code and restructured it for clarity. General code cleanup. 2.900 : After a request from JanRoger Haugan I also added support for the modification of filename comments. Because of this the COMMENT, TOCOMMENT and TOFILENAME keywords were added. The ICONS option can now be also used with wildcards. Fixed bug introduced in 2.800 that caused MATCH to finish early when the new filename was going to be shorter than the old one. Fixed bug that could cause a crash when ICONS was used with recursion and a non-wildcard pattern, and a match couldn't be found in the starting directory. 2.850 : Simplified the command interface by removing the APPEND and FROMEND keywords. Their function is now performed by giving negative values to the AT and WORD keywords respectively. 2.820 : Fixed bug introduced in version 2.800 that caused MATCH to fail in some cases. Reported by Bill Duxbury. 2.810 : Fixed bug introduced in version 2.700 that caused DIRPAT and ALLDIRS not to work properly. 2.800 : SRename is now re-entrant and can be made resident. Rewrote the paged buffer routines so that buffer overflows can't occur anymore, thus removing the limits on how many filenames can be renamed in one go. Fixed bug that occured when attempting to rename to an empty filename and the ICONS option was also given. Increased the maximum recursion limit from 127 to 255 levels. Improved the output of SRename somewhat. Optimized some renumbering routines and made many general code improvements. 2.710 : Doh! EXCLUDE was still buggy. It didn't work at all with multiple strings to match so it's code was completely rewritten. Also fixed a bug with EXCLUDE and the single char mode or character code mode of the MATCH selector. Now if such a mode is active when EXCLUDE is given the excluded parts are modified as single characters instead of as character strings. Single char mode is automatically activated now if a single character is given with MATCH. 2.700 : Added WORD selector and FROMEND,INCLSEP,WSEP support keywords. Removed LENGTH action as it can be performed by MID DELETE. Fixed bugs with EXCLUDE. Now it performs consistently whatever the selected part of the filename is, and works correctly with multiple matches (MATCH selector). Fixed bug in renumbering. It wouldn't renumber single filenames if the number was in the beginning. Increased maximum allowed path to 1024 chars. Many structural and code optimizations. 2.610 : Fixed long standing bug that resulted in higher memory usage than necessary in renumbering. Replaced sorting routine in renumbering with qsort. Some more optimizations in renumbering. 2.600 : Now SRename supports filenames up to 120 characters long on filesystems that allow filenames longer than 30 characters (e.g. SFS) The real new filename is now printed after renaming, as the filesystem that is used can affect the final form of the filename. Small change in temporary filenames to aid renumbering on MS-DOS like filesystems. 2.540 : MATCH selector enhancements: * Added single character mode, as a result the DELCHARS action was removed, as it can be replaced by MATCH : DELETE. * Added character code mode supporting ranges. * MATCH can now accept multiple strings to match. The SWAP action can now swap the filename parts determined by the PREFIX/MAIN/SUFFIX selectors, instead of always swapping the two extreme parts. Increased the limit for maximum number of filenames in each directory to 32768 and of directory names to 4096. Some more optimizations for speed. 2.530 : Changed the way that temporary filenames are named when resolving clashes, to eliminate the possibility that another SRename task could use the same temporary filenames when trying to resolve a clash. Now all temporary filenames receive an address that is different for each SRename task. As a result the limit for numbers contained in filenames has gone up to just under a billion (999999999). Failure to perform a temporary rename in renumbering mode now results in an error message and termination of further processing. Fixed small bug that caused the casing of the basename in renumbering to be determined from the given starting filename. Made a few code optimizations. 2.520 : The TO keyword is now optional for some rename actions. The FILENAME keyword was renamed as FROM. Fixed serious bug that hampered multiple filepattern renaming when different directories were given. Improved the error and other message output. Errors: 'source path not found', 'no number in filename' and 'invalid number in filename' do not abort the processing of other filepatterns anymore. Some code optimizations. 2.510 : Added ICONS option for automatic icon renaming. Fixed a bug in routine that detects same source-destination filename. 2.500 : First Aminet release. Added BEFORE,AFTER,REVMATCH options for MATCH selector. Added UPDATE option for INSERT action. Major interface changes: removed additional parameters from MATCH, INSERT and RENUMBER and made them separate, also changed the full names of LEN,PRE,SUF and gave abbreviations to PREFIX,MAIN,SUFFIX,LEFT,MID, RIGHT and QUIET. AT is now used for number positioning in renumbering instead of LEFT and RIGHT. Removed the DELBASE action. Fixed bug in TO action. Can now rename filenames that are recognised by the OS as wildcards if these filenames are found in the given path. Fixed bugs introduced in 2.430 that caused misrecognition of same source and destination filenames.